En este apartado vamos a presentar un ejemplo de ejecución de la herramienta, siguiendo el flujo de ejecución que se puede
observar en la figura \ref{fig:flow}.

En primer lugar, partimos de un fichero XML con el modelo de planificación:

{
\small
\begin{verbatim}
<Model id="Model2" >
  <Constraint type="maxtime" maxtime="50" />
  <Constraint type="allowidle" allowidle="true" />
  <Constraint type="precedence" before="t1" after="t2" />
  <Constraint type="precedence" before="t1" after="t4" />
  <Constraint type="precedence" before="t2" after="t3" />
  <Constraint type="precedence" before="t4" after="t5" />

  <Task id="t1">
    <Constraint type="timewindow" start="0" end="100" />
    <Constraint type="lenght" lenght="5" />
    <Constraint type="resourcesneeded" resourcesneeded="1" />
  </Task>
  <Task id="t2">
    <Constraint type="timewindow" start="0" end="100" />
    <Constraint type="lenght" lenght="7" />
    <Constraint type="resourcesneeded" resourcesneeded="2" />
  </Task>
  <Task id="t3">
    <Constraint type="timewindow" start="0" end="100" />
    <Constraint type="lenght" lenght="10" />
    <Constraint type="resourcesneeded" resourcesneeded="1" />
  </Task>
  <Task id="t4">
    <Constraint type="timewindow" start="0" end="100" />
    <Constraint type="lenght" lenght="2" />
    <Constraint type="resourcesneeded" resourcesneeded="3" />
  </Task>
  <Task id="t5">
    <Constraint type="timewindow" start="0" end="100" />
    <Constraint type="lenght" lenght="9" />
    <Constraint type="resourcesneeded" resourcesneeded="2" />
  </Task>

  <Resource id="r1">
    <Constraint type="capacity" capacity="1" />
  </Resource>
  <Resource id="r2">
    <Constraint type="capacity" capacity="2" />
  </Resource>
  <Resource id="r3">
    <Constraint type="capacity" capacity="1" />
  </Resource>
</Model>
\end{verbatim}
}

en el cual podemos observar que el modelo se compone de tres recursos y cinco tareas, cada uno con sus respectivas restricciones.
A continuación, mediante el siguiente comando:

{
\small
\begin{verbatim}
 ./cbs-framework -f model.xml
\end{verbatim}

}

la herramineta crearía la estructura Software interna de este modelo, y tras recorrerla, generaría el siguiente
fichero de datos MiniZinc \cite{MiniZinc}:

{
\small{
\begin{verbatim}
max_time = 50;
allow_idle = true;
n_tasks = 5;
taskName = ["t1","t2","t3","t4","t5"];
n_resources = 3;
resourceName = ["r2","r1","r3"];
lenght = [5,7,10,2,9];
start_time_window = [0,0,0,0,0];
end_time_window = [100,100,100,100,100];
resources = [1,2,1,3,2];
capacity = [2,1,1];
do_precedences = true;
n_precedences = 4;
precedences = array2d(1..n_precedences, 1..2,
[
1,2,
1,4,
2,3,
4,5
]);
\end{verbatim}
}

Dónde se fácilmente de ve la correspondencia entre el modelo XML y este fichero. Este fichero alimentará el script MiniZinc \cite{MiniZinc},
que se ejecutara sobre el resolutor, en este caso Gecode \cite{Gecode}, y se obtendrá la siguiente solución:

{
\small
\begin{verbatim}
Start times: [0, 5, 12, 13, 16]
End times: [5, 12, 22, 15, 25]
Schedule: resource(task), timeline: (max_time: 50)
r2:    ["t1"] ["t1"] ["t1"] ["t1"] ["t1"] ["t2"] ["t2"] ["t2"] ["t2"] ["t2"] ["t2"] ["t2"] ["t3"] ["t3", "t4"] 
       ["t3", "t4"] ["t3"] ["t3", "t5"] ["t3", "t5"] ["t3", "t5"] ["t3", "t5"] ["t3", "t5"] ["t3", "t5"] ["t5"] 
       ["t5"] ["t5"] -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
r1:    -  -  -  -  -  ["t2"] ["t2"] ["t2"] ["t2"] ["t2"] ["t2"] ["t2"] -  ["t4"] ["t4"] -  ["t5"] ["t5"] ["t5"] 
       ["t5"] ["t5"] ["t5"] ["t5"] ["t5"] ["t5"] -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  
       -  -  -  -  - 
r3:    -  -  -  -  -  -  -  -  -  -  -  -  -  ["t4"] ["t4"] -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  
       -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
\end{verbatim}
}

Dónde se puede observar la asignación de los tiempos de inicio y de fin de ejecución de cada tarea, y para cada recurso,
que tareas tiene asignadas en cada instante.